home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ahoy 1985 May
/
Ahoy_Magazine_85-05_1985_Double_L.d64
/
rupert 1
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
1KB
|
59 lines
1 if qq=1 then 140
2 if qq=2 then end
4 :rem
5 :rem -- save screen to disk --
6 :rem =rupert-report=listing-1=
7 :rem
10 def fnh(x)=int(x/256) :rem msb of x
20 def fnl(x)=x-256*fnh(x) :rem lsb
25 :rem
30 gosub 500 :rem: put image on screen
35 :rem
40 flnam$="@:scrn1"
45 fa$=flnam$
50 saddr=1024 : eaddr=2024
60 gosub 220 :rem: save screen memory
65 :rem
70 flnam$="@:colr1"
75 fb$=flnam$
80 saddr=55296 : eaddr=56296
90 gosub 220 :rem: save color memory
100 :rem -- restore screen --
110 print chr$(147):print"press any key to restore screen"
120 get aa$ : if aa$="" then 120
130 qq=1 : flnam$=fb$ : goto 600
140 qq=2 : flnam$=fa$ : goto 600
150 rem =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
160 rem use kernal 'save' routine
170 rem to save memory from (saddr)
180 rem to (eaddr-1) in file "flnam$"
190 rem =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
200 rem
210 rem
220 areg=780 : xreg=781 : yreg=782
230 open 8,8,8,flnam$
240 sve=65496 :rem $ffd8
250 zptr=251 :rem $fb (zero page)
260 poke zptr+1,fnh(saddr)
270 poke zptr,fnl(saddr)
280 poke areg,zptr
290 poke xreg,fnl(eaddr)
300 poke yreg,fnh(eaddr)
310 sys sve
320 close 8
330 return
494 :rem
495 :rem << fill screen >>
500 for mem=1024 to 2022 step 3
510 print chr$(168)chr$(127)chr$(168);
520 poke mem+54272,rnd(0)*16
530 next
540 return
594 :rem -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
595 :rem load flnam$ back into memory
596 :rem execution resumes at start
597 :rem of program
598 :rem -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
600 load flnam$,8,1
1000 open2,8,2,"rup1,s,w":cmd2:list-999